home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 2003 May (DVD) / Macworld Resource DVD May 2003.toast / Data / Software / Bonus / Programming / revolutionosx.sit / Revolution 1.1.1 / External SDK / XCmdGlue.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-12-21  |  5.0 KB  |  171 lines  |  [????/????]

  1. /********************************************/
  2. /*    Copyright 1997 MetaCard Corporation   */
  3. /*    All Rights Reserved                   */
  4. /********************************************/
  5. /*
  6.  * #defines and prototypes for MetaCard external commands and functions
  7.  */
  8.  
  9. #define XCOMMAND "C"
  10. #define XFUNCTION "F"
  11. #define XNONE ""
  12. #define xresSucc 0
  13. #define xresFail 1
  14. #define xresNotImp 2
  15. #define xresAbort 3
  16.  
  17. #ifndef Bool
  18. #define Bool int
  19. #define True 1
  20. #define False 0
  21. #define Atom unsigned long
  22. #define MCStack void
  23. #endif //Bool
  24.  
  25. typedef struct _Xternal {
  26.   char *name;
  27.   char *type;
  28.   Atom atom;
  29. #ifdef __STDC__
  30.   void (*call)(char *args[], int nargs, char **retval, Bool *pass, Bool *err);
  31. #else //_STDC_
  32.   void (*call)();
  33. #endif //_STDC_
  34.   void (*abort)();
  35. } Xternal;
  36.  
  37. typedef struct MCstring {
  38.   const char *sptr;
  39.   int length;
  40. } MCstring;
  41.  
  42.  
  43. typedef struct MCarray {
  44.   int nelements;
  45.   MCstring *strings;
  46.   char **keys;
  47. } MCarray;
  48.  
  49. #ifdef __STDC__
  50. typedef char * (*XCB)(const char *arg1, const char *arg2,
  51.               const char *arg3, int *retval);
  52. #else //_STDC_
  53. typedef char * (*XCB)();
  54. #endif //_STDC_
  55.  
  56. #ifdef X11
  57. #ifndef _XtIntrinsic_h
  58. typedef struct _WidgetRec *Widget;
  59. #endif //_XtIntrinsic_h
  60.  
  61. extern Window MCwin;
  62. extern Display *MCdpy;
  63. extern Bool MCquit;
  64.  
  65. #elif defined WIN32 || defined MACOS
  66. extern Xternal Xtable[];
  67. #ifdef __STDC__
  68. typedef void (*DELETER)(char *data);
  69. typedef void (*GETXTABLE)(XCB *, DELETER, const char **,
  70.               Xternal **, DELETER *);
  71. #else //_STDC_
  72. typedef void (*DELETER)();
  73. typedef void (*GETXTABLE)();
  74. #endif //_STDC_
  75. #endif //defined WIN32 || defined MACOS
  76.  
  77. #ifdef __STDC__
  78. #ifdef __cplusplus
  79. extern "C" {
  80. #endif //_cplusplus
  81. extern Bool X_init(int argc, char *argv[], char *envp[],
  82.            Xternal table[], char *name);
  83. extern void X_set_idle_handler(void (*function)());
  84. extern void X_set_idle_rate(int newrate);
  85. #ifdef X11
  86. extern void X_set_pre_xevent_handler(Bool (*function)(XEvent *e));
  87. extern void X_set_post_xevent_handler(void (*function)(XEvent *e));
  88. #ifdef SELECT
  89. extern void X_set_select_handler(int (*f)(int n, fd_set *r, fd_set *w, 
  90.                       fd_set *e, struct timeval *t));
  91. #else //SELECT
  92. extern void X_set_poll_handler(int (*f)(struct pollfd fd[], 
  93.                     int nfds, int timeout));
  94. #endif //SELECT
  95. extern void mc_xtinit(Widget ps, char *stack);
  96. extern void mc_xtclose();
  97. #endif //X11
  98. extern void X_main_loop();
  99. extern int X_close();
  100.  
  101. extern char *istrdup(const char *sptr);
  102. extern void SendCardMessage(const char *message, int *retval);
  103. extern void SendMCMessage(const char *message, int *retval);
  104. extern char *EvalExpr(const char *expression, int *retval);
  105. extern char *GetGlobal(const char *name, int *retval);
  106. extern void SetGlobal(const char *name, const char *value, int *retval);
  107. extern char *GetVariable(const char *name, int *retval);
  108. extern void SetVariable(const char *name, const char *value, int *retval);
  109. extern void GetVariableEx(const char *name, const char *key, MCstring *value, int *retval);
  110. extern void SetVariableEx(const char *name, const char *key, const MCstring *value, int *retval);
  111. extern void GetArray(const char *name, int *nelements, MCstring *strings, char **keys, int *retval);
  112. extern void SetArray(const char *name, int nelements, MCstring *strings, char **keys, int *retval);
  113. extern char *GetFieldByName(const char *group, const char *name, int *retval);
  114. extern char *GetFieldByNum(const char *group, int num, int *retval);
  115. extern char *GetFieldById(const char *group, unsigned long id, int *retval);
  116. extern void SetFieldByName(const char *group, const char *name,
  117.                const char *value, int *retval);
  118. extern void SetFieldByNum(const char *group, int num,
  119.               const char *value, int *retval);
  120. extern void SetFieldById(const char *group, unsigned long id,
  121.              const char *value, int *ret);
  122. extern void ShowImageByName(const char *group, const char *name, int *retval);
  123. extern void ShowImageByNum(const char *group, int num, int *retval);
  124. extern void ShowImageById(const char *group, unsigned long id, int *ret);
  125. extern char *GetMCStatus();
  126. #ifdef __cplusplus
  127. }
  128. #endif //_cplusplus
  129. #else //__STDC__
  130. extern Bool X_init();
  131. extern void X_set_idle_handler();
  132. extern void X_set_idle_rate();
  133. #ifdef X11
  134. extern void X_set_pre_xevent_handler();
  135. extern void X_set_post_xevent_handler();
  136. #ifdef SELECT
  137. extern void X_set_select_handler();
  138. #else //SELECT
  139. extern void X_set_poll_handler();
  140. #endif //SELECT
  141. #endif //X11
  142. extern void X_main_loop();
  143. extern int X_close();
  144.  
  145. extern void mc_xtinit();
  146. extern void mc_xtclose();
  147.  
  148. extern char *istrdup();
  149. extern void SendCardMessage();
  150. extern void SendMCMessage();
  151. extern char *EvalExpr();
  152. extern char *GetGlobal();
  153. extern void SetGlobal();
  154. extern char *GetVariable();
  155. extern void SetVariable();
  156. extern void GetVariableEx();
  157. extern void SetVariableEx();
  158. extern void GetArray();
  159. extern void SetArray();
  160. extern char *GetFieldByName();
  161. extern char *GetFieldByNum();
  162. extern char *GetFieldById();
  163. extern void SetFieldByName();
  164. extern void SetFieldByNum();
  165. extern void SetFieldById();
  166. extern void ShowImageByName();
  167. extern void ShowImageByNum();
  168. extern void ShowImageById();
  169. extern char *GetMCStatus();
  170. #endif //_STDC_
  171.